跳到主要内容

Fortran 扩展操作符和赋值符

  • 首先写一个函数放在模块中;
  • 其次创建接口指向这个模块,并可以通过形参类型区分:
interface operator/assignment ()
module procedure func1/subr1 ! 操作符是函数,而赋值是子例程

如果是对自带操作符重载,需要满足

  • 不能修改针对预定义类型的含义
  • 参数个数一样
  • 不同的写法含义一样

指向函数时,必须是 intent(in),指向子例程时,必须是 intent(out) 和 intent(in)。